<?php
include("../inc/class/config.php");		// загружаем классы настроек
include("../inc/class/class.phpmailer.php");
include("../inc/class/users.php");
include("../inc/class/pb_accept.php");		// загружаем классы настроек


$cfg=new Tconfig;
include("../config.php");			// загружаем основные настройки, которых нет в БД
include("../inc/connect.php");			// соеденяемся с БД, получаем $cfg->base_id
$cfg->GetFromBaseNoSmarty();
include("../functions.php");		// подгружаем функции (мини версия)



function Send_mail_BP_userlist($randomid,$title,$txt){
    global $cfg;        
    $result = mysql_query("SELECT * FROM bp_userlist INNER JOIN users ON bp_userlist.userid=users.id WHERE bp_userlist.randomid='$randomid'",$cfg->base_id);
	if ($result!='') {
         while ($myrow = mysql_fetch_array($result)){
             //echo "!!!$myrow[email], $title, $txt!!!";
		smtpmail($myrow[email], $title, $txt);		
             };
        };
};

function InsertUsers($userid,$bp_id,$rnd){
    global $cfg;        

                    $sql="INSERT INTO bp_userlist (id,bpid,userid,status,dtstart,comment,title,dtend,randomid) VALUES 
                        (NULL,'$bpid','$userid',0,NOW(),'','Критический срок годности',NOW(),'$rnd')";                
                    $result = mysql_query($sql,$cfg->base_id);                
                    if ($result==''){echo 'Неверный запрос : ' . mysql_error().'<br>';}    
    
};

function real_date_diff($date1, $date2 = NULL){
    $diff = array();
 
    //Если вторая дата не задана принимаем ее как текущую
    if(!$date2) {
        $cd = getdate();
        $date2 = $cd['year'].'-'.$cd['mon'].'-'.$cd['mday'].' '.$cd['hours'].':'.$cd['minutes'].':'.$cd['seconds'];
    }
     
    //Преобразуем даты в массив
    $pattern = '/(\d+)-(\d+)-(\d+)(\s+(\d+):(\d+):(\d+))?/';
    preg_match($pattern, $date1, $matches);
    $d1 = array((int)$matches[1], (int)$matches[2], (int)$matches[3], (int)$matches[5], (int)$matches[6], (int)$matches[7]);
    preg_match($pattern, $date2, $matches);
    $d2 = array((int)$matches[1], (int)$matches[2], (int)$matches[3], (int)$matches[5], (int)$matches[6], (int)$matches[7]);
 
    //Если вторая дата меньше чем первая, меняем их местами
    for($i=0; $i<count($d2); $i++) {
        if($d2[$i]>$d1[$i]) break;
        if($d2[$i]<$d1[$i]) {
            $t = $d1;
            $d1 = $d2;
            $d2 = $t;
            break;
        }
    }
 
    //Вычисляем разность между датами (как в столбик)
    $md1 = array(31, $d1[0]%4||(!($d1[0]%100)&&$d1[0]%400)?28:29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    $md2 = array(31, $d2[0]%4||(!($d2[0]%100)&&$d2[0]%400)?28:29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    $min_v = array(NULL, 1, 1, 0, 0, 0);
    $max_v = array(NULL, 12, $d2[1]==1?$md2[11]:$md2[$d2[1]-2], 23, 59, 59);
    for($i=5; $i>=0; $i--) {
        if($d2[$i]<$min_v[$i]) {
            $d2[$i-1]--;
            $d2[$i]=$max_v[$i];
        }
        $diff[$i] = $d2[$i]-$d1[$i];
        if($diff[$i]<0) {
            $d2[$i-1]--;
            $i==2 ? $diff[$i] += $md1[$d1[1]-1] : $diff[$i] += $max_v[$i]-$min_v[$i]+1;
        }
    }
     
    //Возвращаем результат
    return $diff;
};


$cnt=0;
if (file_exists('../ohrana.xml')) {
    $xml = simplexml_load_file('../ohrana.xml');
    //var_dump($xml);    
    $ht="";
               foreach($xml->ohr as $ohr){
                  $fiz=$ohr->fiz;
                  $sv=$ohr->sv;
                  $znach=$ohr->znach;

                  $date2 = $znach;
                  $date1 = date("d.m.Y");
                  $arr1 = explode('.', $date1);
                  $arr2 = explode('.', $date2);
                    $time1 = mktime(0,0,0,$arr1[1],$arr1[0],$arr1[2]);
                    $time2 = mktime(0,0,0,$arr2[1],$arr2[0],$arr2[2]);
                    $dif = ($time2 - $time1) / 86400;
                    if (($dif<45) and ($dif>-15000))
                    {
                        $ht=$ht. "<b>$fiz</b><br>$sv,$znach.Осталось : $dif|<br>";                        
                    };

               };
             
     if ($ht!=""){
                    $rnd=GetRandomId(60);
                    $sql="INSERT INTO bp_accept (id,userid,title,bodytxt,status,dt,randomid) VALUES 
                        (NULL,'1','Охрана труда - предупреждения','$ht','1',NOW(),'$rnd')";                
                    $result = mysql_query($sql,$cfg->base_id);                
                    if ($result==''){echo 'Неверный запрос : ' . mysql_error().'<br>';}
                    $bp=new Tbp_accept;
                    $bp->GetByRandomId($rnd);
                    InsertUsers("1",$bp->id,$rnd);
                    InsertUsers("41",$bp->id,$rnd);
                    Send_mail_BP_userlist($rnd,"Уведомление о просрочках охраны труда (высылается автоматически каждый понедельник в 9.00)",
                            "Внимание! На заводе есть люди с критическим сроком истечения флюрографии, мед книжек и т.п. Посмотреть список можно <a href='http://10.80.16.19/webuseorg/index.php'>здесь</a>");                    

     };
};